package org.zjt.algorithm;

import joptsimple.internal.Strings;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 内部排序，至少掌握基础算法如归并排序、交换排序（冒泡、快排）、选择排序、插入排序等。
 * 外部排序，掌握利用内存和外部存储处理超大数据集，至少要理解过程和思路。
 *
 * list、set、map
 *
 *    sortedHashMap、sortedSet、sortedLinkMap、LinkedHashMap（有序的、可排序的、实现lru）、LinkedHashSet  使用
 *
 *
 *
 * Vector 线程安全的动态数组。
 * ArrayList 动态数组。扩容时复制原数组。随机访问效率高。
 * LinkedList 双向链表，插入删除效率高。
 *
 * 内部排序：归并，冒泡，快排，选择，插入
 * 外部排序：借助外部存储排序
 *
 * java集合框架：list set queue
 * java提供的默认排序算法：双轴快排，TimSort
 *
 */
public class SortedList {
    public static void main(String[] args) {
        Integer array[] = new Integer[]{1,2,3,2,3,4,54};
        Arrays.sort(array);
        Arrays.stream(array).forEach(System.out::println);
        List<Integer> integers = Arrays.asList(array);
        Collections.sort(integers);
        integers.forEach(System.out::print);

        Arrays.stream(array).collect(Collectors.toList());
    }
}
